<template>
  <div id="loading" v-show="loading">
    <div class="lodingBox">
      <div class="spinner">
        <div class="rect1"></div>
        <div class="rect2"></div>
        <div class="rect3"></div>
        <div class="rect4"></div>
        <div class="rect5"></div>
      </div>
    </div>

    <!-- <div class="loader">
            <div class="loader-inner la-pacman la-2x">
                <div></div>
                <div></div>
                <div></div>
                <div></div>
                <div></div>
                <div></div>
            </div>
        </div> -->
  </div>
</template>

<script>
export default {
  name: "loading",
  computed: {
    loading() {
      return this.$store.state.app.loading
    }
  },
  watch: {
    loading: {
      immediate: true,
      handler: (n, o) => {
        let htmlBodyElement = document.querySelector('body');
        htmlBodyElement.style.overflowY = n ? 'hidden' : 'auto';
      }
    }
  }
}
</script>

<style scoped>
.lodingBox {
  background-color: #e0e0e054;
  width: 280px;
  border-radius: 30px;
}
.spinner {
  margin: 100px auto;
  width: 80px;
  height: 80px;
  text-align: center;
  font-size: 10px;
}

.spinner > div {
  margin: 0 5px;
  background-color: #67cf22;
  height: 100%;
  width: 6px;
  display: inline-block;

  -webkit-animation: stretchdelay 1.2s infinite ease-in-out;
  animation: stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.spinner .rect3 {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.spinner .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes stretchdelay {
  0%,
  40%,
  100% {
    -webkit-transform: scaleY(0.4);
  }
  20% {
    -webkit-transform: scaleY(1);
  }
}

@keyframes stretchdelay {
  0%,
  40%,
  100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }
  20% {
    transform: scaleY(1);
    -webkit-transform: scaleY(1);
  }
}

#loading {
  position: fixed;
  z-index: 999999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #00000000;
  display: flex;
  align-items: center;
  justify-content: center;
}
</style>